package com.sun.service;

import com.sun.dto.ArtworkDTO;
import com.sun.dto.ArtworkPageQueryDTO;
import com.sun.entity.Artwork;
import com.sun.result.PageResult;
import com.sun.vo.ArtworkVO;

import java.util.List;

public interface ArtworkService {

    /**
     * 新增艺术品和对应的详细信息
     * @param artworkDTO
     */
    void saveWithDes(ArtworkDTO artworkDTO);

    /**
     * 艺术品分页查询
     * @param artworkPageQueryDTO
     * @return
     */
    PageResult pageQuery(ArtworkPageQueryDTO artworkPageQueryDTO);

    /**
     * 艺术品批量删除
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 根据id 查询艺术品 对应的详细信息
     * @param id
     * @return
     */
    ArtworkVO getByIdWithDes(Long id);

    /**
     * 修改艺术品
     * @param artworkDTO
     */
    void updateWithDes(ArtworkDTO artworkDTO);

    /**
     * 艺术品起售停售
     * @param status
     * @param id
     */
    void startOrStop(Integer status, Long id);


    /**
     * 根据分类id查询艺术品
     * @param categoryId
     * @return
     */
    List<Artwork> list(Long categoryId);

    /**
     * 条件查询艺术品和详细信息
     * @param artwork
     * @return
     */
    List<ArtworkVO> listWithFlavor(Artwork artwork);
}
